\hypertarget{imgfeatures_8h}{
\section{C:/Users/Matt/Documents/School/Robotics/zebulon/v2/vision/ext/SIFT/imgfeatures.h File Reference}
\label{imgfeatures_8h}\index{C:/Users/Matt/Documents/School/Robotics/zebulon/v2/vision/ext/SIFT/imgfeatures.h@{C:/Users/Matt/Documents/School/Robotics/zebulon/v2/vision/ext/SIFT/imgfeatures.h}}
}
{\ttfamily \#include \char`\"{}cxcore.h\char`\"{}}\par
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structfeature}{feature}
\end{DoxyCompactItemize}
\subsection*{Defines}
\begin{DoxyCompactItemize}
\item 
\hypertarget{imgfeatures_8h_ac025b1d1c5fb5abffe6b23e1793b6280}{
\#define {\bfseries FEATURE\_\-OXFD\_\-COLOR}~CV\_\-RGB(255,255,0)}
\label{imgfeatures_8h_ac025b1d1c5fb5abffe6b23e1793b6280}

\item 
\hypertarget{imgfeatures_8h_aad5233aa453e1baf3569cdd14edaf3c0}{
\#define {\bfseries FEATURE\_\-LOWE\_\-COLOR}~CV\_\-RGB(255,0,255)}
\label{imgfeatures_8h_aad5233aa453e1baf3569cdd14edaf3c0}

\item 
\#define \hyperlink{imgfeatures_8h_afe7cd39c02f9b76ef87b9a27aab8826d}{FEATURE\_\-MAX\_\-D}~128
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{imgfeatures_8h_ab81a05673a4361b6af7829772fe8f10c}{feature\_\-type} \{ {\bfseries FEATURE\_\-OXFD}, 
{\bfseries FEATURE\_\-LOWE}
 \}
\item 
enum \hyperlink{imgfeatures_8h_a1248feeb561a9e5d9d2b643c7d8a8330}{feature\_\-match\_\-type} \{ {\bfseries FEATURE\_\-FWD\_\-MATCH}, 
{\bfseries FEATURE\_\-BCK\_\-MATCH}, 
{\bfseries FEATURE\_\-MDL\_\-MATCH}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{imgfeatures_8h_a0edfb41422bbfa7b4c5421784641420b}{import\_\-features} (char $\ast$filename, int type, struct \hyperlink{structfeature}{feature} $\ast$$\ast$feat)
\item 
int \hyperlink{imgfeatures_8h_a35c5a2f766b0dec41d6baff7a0463bf5}{export\_\-features} (char $\ast$filename, struct \hyperlink{structfeature}{feature} $\ast$feat, int n)
\item 
void \hyperlink{imgfeatures_8h_a77ce47047ad108c6deea29f50ae926d1}{draw\_\-features} (IplImage $\ast$img, struct \hyperlink{structfeature}{feature} $\ast$feat, int n)
\item 
double \hyperlink{imgfeatures_8h_ad2d260809861abae26c9e6a371b63fb2}{descr\_\-dist\_\-sq} (struct \hyperlink{structfeature}{feature} $\ast$f1, struct \hyperlink{structfeature}{feature} $\ast$f2)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions and structures for dealing with image features

Copyright (C) 2006 Rob Hess $<$\href{mailto:hess@eecs.oregonstate.edu}{\tt hess@eecs.oregonstate.edu}$>$

\begin{DoxyVersion}{Version}
1.1.1-\/20070913 
\end{DoxyVersion}


\subsection{Define Documentation}
\hypertarget{imgfeatures_8h_afe7cd39c02f9b76ef87b9a27aab8826d}{
\index{imgfeatures.h@{imgfeatures.h}!FEATURE\_\-MAX\_\-D@{FEATURE\_\-MAX\_\-D}}
\index{FEATURE\_\-MAX\_\-D@{FEATURE\_\-MAX\_\-D}!imgfeatures.h@{imgfeatures.h}}
\subsubsection[{FEATURE\_\-MAX\_\-D}]{\setlength{\rightskip}{0pt plus 5cm}\#define FEATURE\_\-MAX\_\-D~128}}
\label{imgfeatures_8h_afe7cd39c02f9b76ef87b9a27aab8826d}
max \hyperlink{structfeature}{feature} descriptor length 

\subsection{Enumeration Type Documentation}
\hypertarget{imgfeatures_8h_a1248feeb561a9e5d9d2b643c7d8a8330}{
\index{imgfeatures.h@{imgfeatures.h}!feature\_\-match\_\-type@{feature\_\-match\_\-type}}
\index{feature\_\-match\_\-type@{feature\_\-match\_\-type}!imgfeatures.h@{imgfeatures.h}}
\subsubsection[{feature\_\-match\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf feature\_\-match\_\-type}}}
\label{imgfeatures_8h_a1248feeb561a9e5d9d2b643c7d8a8330}
FEATURE\_\-FWD\_\-MATCH \par
 FEATURE\_\-BCK\_\-MATCH \par
 FEATURE\_\-MDL\_\-MATCH \hypertarget{imgfeatures_8h_ab81a05673a4361b6af7829772fe8f10c}{
\index{imgfeatures.h@{imgfeatures.h}!feature\_\-type@{feature\_\-type}}
\index{feature\_\-type@{feature\_\-type}!imgfeatures.h@{imgfeatures.h}}
\subsubsection[{feature\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf feature\_\-type}}}
\label{imgfeatures_8h_ab81a05673a4361b6af7829772fe8f10c}
FEATURE\_\-OXFD \par
 FEATURE\_\-LOWE 

\subsection{Function Documentation}
\hypertarget{imgfeatures_8h_ad2d260809861abae26c9e6a371b63fb2}{
\index{imgfeatures.h@{imgfeatures.h}!descr\_\-dist\_\-sq@{descr\_\-dist\_\-sq}}
\index{descr\_\-dist\_\-sq@{descr\_\-dist\_\-sq}!imgfeatures.h@{imgfeatures.h}}
\subsubsection[{descr\_\-dist\_\-sq}]{\setlength{\rightskip}{0pt plus 5cm}double descr\_\-dist\_\-sq (struct {\bf feature} $\ast$ {\em f1}, \/  struct {\bf feature} $\ast$ {\em f2})}}
\label{imgfeatures_8h_ad2d260809861abae26c9e6a371b63fb2}
Calculates the squared Euclidian distance between two \hyperlink{structfeature}{feature} descriptors.


\begin{DoxyParams}{Parameters}
\item[{\em f1}]first \hyperlink{structfeature}{feature} \item[{\em f2}]second \hyperlink{structfeature}{feature}\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the squared Euclidian distance between the descriptors of {\itshape f1\/} and {\itshape f2\/}. 
\end{DoxyReturn}
\hypertarget{imgfeatures_8h_a77ce47047ad108c6deea29f50ae926d1}{
\index{imgfeatures.h@{imgfeatures.h}!draw\_\-features@{draw\_\-features}}
\index{draw\_\-features@{draw\_\-features}!imgfeatures.h@{imgfeatures.h}}
\subsubsection[{draw\_\-features}]{\setlength{\rightskip}{0pt plus 5cm}void draw\_\-features (IplImage $\ast$ {\em img}, \/  struct {\bf feature} $\ast$ {\em feat}, \/  int {\em n})}}
\label{imgfeatures_8h_a77ce47047ad108c6deea29f50ae926d1}
Displays a set of features on an image


\begin{DoxyParams}{Parameters}
\item[{\em img}]image on which to display features \item[{\em feat}]array of Oxford-\/type features \item[{\em n}]number of features \end{DoxyParams}
\hypertarget{imgfeatures_8h_a35c5a2f766b0dec41d6baff7a0463bf5}{
\index{imgfeatures.h@{imgfeatures.h}!export\_\-features@{export\_\-features}}
\index{export\_\-features@{export\_\-features}!imgfeatures.h@{imgfeatures.h}}
\subsubsection[{export\_\-features}]{\setlength{\rightskip}{0pt plus 5cm}int export\_\-features (char $\ast$ {\em filename}, \/  struct {\bf feature} $\ast$ {\em feat}, \/  int {\em n})}}
\label{imgfeatures_8h_a35c5a2f766b0dec41d6baff7a0463bf5}
Exports a \hyperlink{structfeature}{feature} set to a file formatted depending on the type of features, as specified in the \hyperlink{structfeature}{feature} struct's type field.


\begin{DoxyParams}{Parameters}
\item[{\em filename}]name of file to which to export features \item[{\em feat}]\hyperlink{structfeature}{feature} array \item[{\em n}]number of features\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 0 on success or 1 on error 
\end{DoxyReturn}
\hypertarget{imgfeatures_8h_a0edfb41422bbfa7b4c5421784641420b}{
\index{imgfeatures.h@{imgfeatures.h}!import\_\-features@{import\_\-features}}
\index{import\_\-features@{import\_\-features}!imgfeatures.h@{imgfeatures.h}}
\subsubsection[{import\_\-features}]{\setlength{\rightskip}{0pt plus 5cm}int import\_\-features (char $\ast$ {\em filename}, \/  int {\em type}, \/  struct {\bf feature} $\ast$$\ast$ {\em feat})}}
\label{imgfeatures_8h_a0edfb41422bbfa7b4c5421784641420b}
Reads image features from file. The file should be formatted as from the code provided by the Visual Geometry \hyperlink{class_group}{Group} at Oxford or from the code provided by David Lowe.


\begin{DoxyParams}{Parameters}
\item[{\em filename}]location of a file containing image features \item[{\em type}]determines how features are input. If {\itshape type\/} is FEATURE\_\-OXFD, the input file is treated as if it is from the code provided by the VGG at Oxford: \href{http://www.robots.ox.ac.uk:5000/~vgg/research/affine/index.html}{\tt http://www.robots.ox.ac.uk:5000/$\sim$vgg/research/affine/index.html} \par
\par
 If {\itshape type\/} is FEATURE\_\-LOWE, the input file is treated as if it is from David Lowe's SIFT code: \href{http://www.cs.ubc.ca/~lowe/keypoints}{\tt http://www.cs.ubc.ca/$\sim$lowe/keypoints} \item[{\em feat}]pointer to an array in which to store imported features\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the number of features imported from filename or -\/1 on error 
\end{DoxyReturn}
